
import axios from 'axios';
// import config  from './config.js';
import { ElMessage } from 'element-plus';
import router from '../router/index.js'
let http = axios.create({
    // baseURL:config.baseUrl,/* 获取config.js里的路径 */
    baseURL: "http://ordermanagement.xcxlichao.com/prod-api",
    timeout:8000,
    headers:{
        'Content-Type': 'application/json'/* 设置请求头参数格式json格式 */
    },
})

/* 使用请求拦截器*/
http.interceptors.request.use((config)=>{
        console.log(config,'config');
    /* 缓存中获取token值 */
    // let {token} = storage.getItem('userInfo') || ''
    let token = 'eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ4MjhiMzVmLWI5MTEtNDBhMC1iNGRhLTAyNzFiNzNmNzc2NiJ9.vi8DEyEP4m-qUcnBc7O6i0VsnN3ePebBfaWGBy1Ogfwxr0HWANL3YXy84L65f3ARWzroXjqWsqQZmsqdYF1kYA'
    // 设置请求报文携带token
    token && (config.headers['Authorization'] = 'Bearer '+ token)
    return config
})

/* 使用响应拦截器 */
http.interceptors.response.use((response)=>{
    console.log(response.data);
    const{data,code,msg} = response.data
    if(code == 200){
        return data
    }else if(code === 20001){
        ElMessage.error(msg || '请求错误 用户账号密码错误')
        return  Promise.reject('请求错误 用户账号密码错误')
    }else if(code === 20002){
        ElMessage.error(msg)
        return  Promise.reject('请求错误 用户为登录')
    }else if(code === 10001){
        ElMessage.error(msg)
        return  Promise.reject('请求错误 参数不正确')
    }else if(code === 500001){
        ElMessage.error("token已过期")
        setTimeout(() => {
            router.push('/login')
        }, 1000);
        return  Promise.reject('token已过期')
    }else if(code === 30001){
        ElMessage.error(msg)
        return  Promise.reject('请求错误 业务请求失败')
    }else if(code === 40001 ){
        ElMessage.error(msg ||'请求错误 认证失败或TOKEN过期')
        return  Promise.reject('请求错误 认证失败或TOKEN过期')
    }
    
},error=>{
    /* 当请求失败的时候触发error函数
    返回失败的消息到浏览器控制台中显示 */
    return  Promise.reject(error)
})

export default http
